For providing new services, there are generally two major architectures: client-server and push services. Client-server architecture relies on the client's (i.e. the user's) activity for receiving new services. In contrast, with push service architecture the user is at least informed of the availability of new services by the service provider or the network operator. Instead of, or in addition to, merely informing the user, the service provider or the network operator can actually download a new service or information to the user's terminal equipment.
FIG. 1 is a block diagram of a packet radio network, such as GPRS (General Packet Radio Service). The GPRS infrastructure comprises support nodes, such as a GPRS gateway support node (GGSN) and a GPRS serving support node (SGSN). The main functions of a GGSN node involve interaction with the external data network. The GGSN updates the location directory using routing information supplied by the SGSNs about the location of an MS and routes the external data network protocol packet encapsulated over the GPRS backbone to the SGSN currently serving the MS. It also decapsulates and forwards external data network packets to the appropriate data network and handles the charging of data traffic.
The main functions of the SGSN are to detect new GPRS mobile stations in its service area, handle the process of registering the new MSs along with the GPRS registers, send/receive data packets to/from the GPRS MS, and to keep a record of the location of the MSs inside of its service area. The subscription information is stored in a GPRS register (Home Location Register HLR) where the mapping between a mobile station identity (such as MSISDN or IMSI) and the PDP address is stored. The GPRS register acts as a database from which an SGSN can ask whether a new MS in its area is allowed to join the GPRS network.
The GPRS gateway support nodes GGSN connect an operator's GPRS network to external systems, such as other operators' GPRS systems, data networks 11, such as an IP network (e.g. the Internet) or an X.25 network, and service centres. Fixed hosts or servers 14 can be connected to a data network 11 for example by means of a local area network LAN and a router 15. A border gateway BG provides an access to an inter-operator GPRS backbone network 12. The GGSN may also be connected directly to a private corporate network or a server. The GGSN contains GPRS subscribers' PDP addresses and routing information, i.e. SGSN addresses. Routing information is used for tunnelling protocol data units PDU from the data network 11 to the current switching point of the MS, i.e. to the serving SGSN. The functionalities of the SGSN and the GGSN may be located in the same physical node.
The home location register HLR of the GSM network contains GPRS subscriber data and routing information and it maps the subscriber's IMSI into one or more pairs of the PDP type and PDP address. The HLR also maps each pair of a PDP type and a PDP address into a GGSN node. The SGSN has a Gr interface to the HLR (an SS7 signalling connection). The HLR of a roaming MS and its serving SGSN may be in different mobile communication networks.
The intra-operator backbone network 13, which interconnects an operator's SGSN and GGSN equipment can be implemented, for example, by means of a local area network. It should be noted that an operator's GPRS network can also be implemented without the intra-operator backbone network, for example by providing all features in one computer.
A general problem underlying the invention is that packet data users generally do not have permanent addresses, such as IP (IPv4 or IPv6) addresses. The reason is the limited address space of especially IPv4, which justifies the common practice of allocating IPv4 addresses to the user dynamically only when needed, and thus reusing the same address among different users. On the other hand, this practice makes provision of push services rather difficult.
A more specific problem can be seen in packet radio networks, such as GPRS, or in the 3rd generation systems, such as UMTS (Universal Mobile Telecommunications System). Such packet radio networks provide the user with a packet data protocol (PDP) address which can be used for routing packets to/from a mobile station in the network currently serving the user. This network may be a visited network VPLMN (Visited Public Land based Mobile Network), i.e. a network different from the user's home network HPLMN (Home PLMN). The PDP address can be an IP address or an X.25 address or equivalent. The PDP address may be static or dynamically allocated by the serving network. In the first case, the GGSN is located in the home network, whereas in the latter case the GGSN in the visited network can be used. The specific problem is that in the case of dynamic PDP address allocation, only the serving network knows the user's PDP address, such as the user's current IP address (or any other address). This is not a problem in client-server architectures, because the client (having the initiative) knows the server's address. In push service architectures, however, this is a problem because the server/service provider does not know where to “push” new services or information about them.